home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disk User Volume 3 #6 / Commodore_Disk_User_Vol.3_6_1990_-.d64 / 3d-text machine (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  6KB  |  126 lines

  1. 1 rem 3d-text machine (c) 1989
  2. 2 rem marco h. westerweel
  3. 3 rem haaksbergen, the netherlands
  4. 5 poke53280,14:poke53281,6:poke646,14
  5. 100 ak$="press any key to continue...":goto355
  6. 105 print"[147][146]";:forco=1to16:printtab(33)x$;co;tab(37);co$(co)"  ":next
  7. 110 printx$:return
  8. 115 print"";:foryx=1to7:printaa$(xy(yx))"[145][145][145][145][145]";:next:printx$:return
  9. 120 print"[147] setting up..."
  10. 125 r$="":rr$="":g$=" ":h$="  ":l$="[157]":ll$="[157][157]":q1$=""+ll$:q2$=q1$+ll$
  11. 130 q3$=q2$+l$:q4$=q3$+l$:c$=si$+rv$+"[223]":d$=si$+vr$+"[223]":e$=fa$+""+g$
  12. 135 f$=si$+rv$+g$:t1$=e$+h$+c$+q2$:t2$=e$+c$+e$+c$+q2$:t3$=e$+c$+e$+g$+c$+q3$
  13. 140 t4$=e$+c$+q1$:t5$=r$+e$+g$+c$+q2$:t6$=e$+g$+c$+e$+g$+c$+q4$
  14. 145 t7$=e$+g$+h$+c$+q3$:t8$=e$+c$+rr$+e$+c$+q4$:m1$=e$+h$+f$+q2$
  15. 150 m2$=e$+f$+e$+f$+q2$:m3$=e$+g$+f$+g$+q2$:m4$=e$+f$+e$+c$+q2$:m5$=e$+f$+q1$
  16. 155 m6$=e$+f$+h$+q2$:m7$=e$+f$+r$+e$+f$+q3$:m8$=e$+f$+g$+e$+c$+q3$
  17. 160 m9$=e$+h$+f$+g$+q3$:m0$=e$+f$+e$+f$+e$+f$+q4$:n1$=d$+e$+f$+g$+q2$
  18. 165 n2$=r$+m5$+l$:n3$=e$+f$+e$+f$+g$+q3$:n4$=e$+f$+e$+g$+c$+q3$
  19. 170 n5$=e$+c$+e$+f$+q2$:n6$=d$+e$+g$+f$+g$+q3$:n7$=d$+f$+e$+f$+q2$
  20. 175 n8$=e$+f$+d$+f$+e$+f$+q4$:n9$=e$+f$+rr$+e$+f$+q4$:n0$=r$+d$+e$+f$+q2$
  21. 180 o1$=e$+g$+c$+r$+e$+c$+q4$:o2$=e$+f$+d$+e$+g$+f$+q4$:o3$=r$+e$+f$+g$+q1$+l$
  22. 185 o4$=d$+f$+e$+g$+c$+q2$:o5$=e$+f$+e$+c$+e$+f$+q4$:o6$=e$+g$+f$+e$+g$+f$+q4$
  23. 190 o7$=d$+f$+g$+e$+f$+q2$:o8$=d$+e$+g$+c$+q2$:o9$=e$+g$+f$+g$+q3$
  24. 195 p1$=r$+e$+g$+f$+q2$:b1$=d$+f$+d$+f$:b2$=d$+f$+h$
  25. 200 b3$=d$+f$+d$+f$+g$:b4$=r$+d$+f$+g$:b5$=d$+f$+r$:b6$=d$+f$+rr$+d$+f$
  26. 205 b7$=d$+f$+g$+d$+f$+g$:b8$=d$+f$+h$+g$:b9$=d$+f$:b0$=d$+f$+r$+d$+f$+g$
  27. 210 a$(1)=t1$+m2$+m1$:a$(2)=m2$+m2$+b1$:a$(3)=t1$+m2$+m3$:a$(4)=m4$+m1$+b2$
  28. 215 a$(5)=t1$+m6$+m5$:a$(6)=m5$+t1$+b2$:a$(7)=t1$+m8$+m7$:a$(8)=m7$+m9$+b2$+r$
  29. 220 a$(9)=t1$+m6$+t1$:a$(10)=m6$+t1$+b2$:a$(11)=t1$+m6$+t1$
  30. 225 a$(12)=m6$+m5$+b5$+r$:a$(13)=t1$+m6$+m5$:a$(14)=m4$+m1$+b2$
  31. 230 a$(15)=t2$+m2$+m1$:a$(16)=m2$+m2$+b1$:a$(17)=t1$+n1$+n2$:a$(18)=n2$+t1$+b2$
  32. 235 a$(19)=r$+t1$+n1$+n2$+l$:a$(20)=n5$+m1$+b2$+r$:a$(21)=t3$+n3$+m3$
  33. 240 a$(22)=m4$+n4$+b3$:a$(23)=t4$+m5$+m5$:a$(24)=m5$+t1$+b2$:a$(25)=t6$+m0$+n8$
  34. 245 a$(26)=n9$+n9$+b6$:a$(27)=o1$+o5$+m0$:a$(28)=m0$+o2$+b0$:a$(29)=t5$+m8$+m7$
  35. 250 a$(30)=m7$+n6$+b4$+r$:a$(31)=t1$+m2$+m1$:a$(32)=m6$+m5$+b5$+r$
  36. 255 a$(33)=t1$+m2$+m2$:a$(34)=m1$+o4$+b4$:a$(35)=t1$+m2$+m3$:a$(36)=m4$+m2$+b1$
  37. 260 a$(37)=t1$+m6$+t1$:a$(38)=n7$+m1$+b2$:a$(39)=t1$+n1$+r$+m5$
  38. 265 a$(40)=m5$+m5$+b5$:a$(41)=t2$+m2$+m2$:a$(42)=m2$+m1$+b2$:a$(43)=t2$+m2$+m2$
  39. 270 a$(44)=m2$+n1$+r$+b5$:a$(45)=t8$+n9$+n9$:a$(46)=o5$+o6$+b7$
  40. 275 a$(47)=t2$+m2$+n1$:a$(48)=m4$+m2$+b1$:a$(49)=t2$+m2$+m1$
  41. 280 a$(50)=n1$+r$+m5$+b5$:a$(51)=t7$+o7$+o9$:a$(52)=m6$+t7$+b8$
  42. 285 a$(53)=t4$+m5$+m5$:a$(54)=m5$+m5$+b9$:a$(55)=t1$+n7$+p1$:a$(56)=m6$+t1$+b2$
  43. 290 a$(57)=t1$+n7$+m1$:a$(58)=n7$+m1$+b2$:a$(59)=t2$+m2$+m1$
  44. 295 a$(60)=n7$+rr$+m5$+b9$:a$(61)=t1$+m6$+o8$:a$(62)=n0$+m1$+b2$
  45. 300 a$(63)=t1$+m6$+t1$:a$(64)=m2$+m1$+b2$:a$(65)=t1$+n7$+rr$+m5$
  46. 305 a$(66)=m5$+m5$+b9$:a$(67)=t1$+m2$+m1$:a$(68)=m2$+m1$+b2$:a$(69)=t1$+m2$+m1$
  47. 310 a$(70)=n7$+rr$+m5$+b9$:a$(71)=t1$+m2$+m2$:a$(72)=m2$+m1$+b2$
  48. 315 a$(73)=""+l$+t5$+b4$+"":a$(74)=""+t4$+b9$:a$(75)=t4$+m5$+b9$+""
  49. 320 a$(76)=t4$+m5$+m5$+b9$+q1$+t4$+b9$:a$(77)=t1$+n7$+o3$+b9$+q1$+t4$+b9$+r$
  50. 325 a$(78)="":a$(79)=chr$(13)+"":ax=0:foraa=1to71step2
  51. 330 ax=ax+1:aa$(ax)=a$(aa)+a$(aa+1):next:forax=37to43:aa$(ax)=a$(ax+36):next
  52. 335 return
  53. 340 poke53280,bo:poke53281,ba:poke1063,160:poke55335,bo:poke1984,160
  54. 345 poke56256,bo:print"";
  55. 350 forz=1to24:printca$"                                       ":next:return
  56. 355 dima$(79),aa$(43),ab$(43):fa$="[154]":si$="[156]":rv$="[146]":vr$="":gosub120
  57. 360 forab=1to43:ab$(ab)=aa$(ab):next:fa$="":si$="":rv$="":vr$="[146]":gosub120
  58. 365 print"[147]":bo=10:ba=0:ca$="[156]":rv$="":vr$="[146]":gosub340
  59. 370 print""tab(10)"[155] presenting the... ":printtab(4);
  60. 375 forxy=1to19:readyx:printab$(yx)"[145][145][145][145][145]";:next:print""
  61. 380 printtab(4)"[155] a utility for basic programs "chr$(13)"[156]"ak$
  62. 385 getgt$:ifgt$=""then385
  63. 390 poke53280,0:poke53281,0:print"[147][146][158] (c) 1989";:forxy=1to23
  64. 395 readyx:printaa$(yx)"[145][145][145][145][145]";:next:printchr$(13)"[146][158]"ak$;
  65. 400 getgt$:ifgt$=""then400
  66. 405 dimco$(16):co$="[144][159][156][158][129][149][150][151][152][153][154][155]":forco=1to16:co$(co)=mid$(co$,co,1):next
  67. 410 x$="[158]":foryx=1to7:readxy(yx):next:printx$:si=7:bo=0:ba=0:goto480
  68. 415 gosub105:gosub115:input"border color";bo$:bo=val(bo$)
  69. 420 ifbo<1orbo>16then415
  70. 425 bo=bo-1:poke53280,bo:return
  71. 430 gosub105:gosub115:input"background color";ba$:ba=val(ba$)
  72. 435 ifba<1orba>16then430
  73. 440 ba=ba-1:poke53281,ba:x$="[158]":ifba<>0thenx$="[144]":printx$
  74. 445 return
  75. 450 gosub105:gosub115:input"text face color";fa$:fa=val(fa$)
  76. 455 iffa<1orfa>16then450
  77. 460 fa$=co$(fa):gosub120:return
  78. 465 gosub105:gosub115:input"text side color";si$:si=val(si$)
  79. 470 ifsi<1orsi>16then465
  80. 475 si$=co$(si):gosub120:return
  81. 480 print"[147]":gosub115:printx$" 1) change border color"
  82. 485 print" 2) change background color":print" 3) change text face color"
  83. 490 print" 4) change text side color":print" 5) create 3d-text file"
  84. 495 print" 6) create 3d-text data"
  85. 500 input" option (1-6)...";ng$:ng=val(ng$):ifng<1orng>6then480
  86. 505 ifng=5thenprint"[147]":gosub115:goto525
  87. 510 ifng=6then565
  88. 515 onnggosub415,430,450,465
  89. 520 goto480
  90. 525 input"text file name";tf$:tf=len(tf$)
  91. 530 iftf>0theniftf<17thengosub560:goto540
  92. 535 print"[147]"x$:gosub115:goto525
  93. 540 print"[147]"x$:input" create another file (y/n) ";ag$
  94. 545 ifag$<>"n"thenifag$<>"y"then540
  95. 550 ifag$="y"then480
  96. 555 end
  97. 560 open8,8,8,"0:"+tf$+",s,w":fora=1to79:print#8,a$(a):next:close8:return
  98. 565 dimln(43),dd(150):x$="":bb=1:ifba=1thenx$="[144]":bb=0
  99. 570 px=1024:py=55296:ln$="4445444445546654544444644524444444443222410"
  100. 575 fornl=1to43:ln(nl)=val(mid$(ln$,nl,1)):next:pn$="0-.'!? ":forpc=1to7
  101. 580 pc$(pc)=mid$(pn$,pc,1):next:up$="[145][145][145][145][145]":f1$=chr$(133):f3$=chr$(134)
  102. 585 print"[147]"x$;tab(4);" f1 [146] = print data,  f3 [146] = cancel";
  103. 590 p1=1145+(rt*280)+lg:p2=55417+(rt*280)+lg:pokep1,42:pokep2,bb:px=p1:py=p2
  104. 595 getg$:ifg$>"@"thenifg$<"["theng=asc(g$)-64:goto635
  105. 600 ifg$>"0"thenifg$<":"theng=asc(g$)-22:goto635
  106. 605 forpc=1to7:ifg$=pc$(pc)theng=35+pc
  107. 610 next:ifg<>0then635
  108. 615 ifg$=chr$(13)theng=43:goto645
  109. 620 ifg$=f3$thenford=1to150:dd(d)=0:next:d=0:lg=0:rt=0:g=0:goto585
  110. 625 ifg$=f1$then660
  111. 630 goto595
  112. 635 pokepx,160:pokepy,ba:lg=lg+ln(g)
  113. 640 iflg<39thend=d+1:dd(d)=g:printaa$(g)up$;:g=0:goto590
  114. 645 pokepx,160:pokepy,ba:rt=rt+1:ifrt=3thenrt=2:g=0:goto595
  115. 650 lg=0:lg=lg+ln(g):d=d+1:dd(d)=43:printaa$(43)up$;:ifg=43theng=0:goto590
  116. 655 d=d+1:dd(d)=g:printaa$(g)up$;:g=0:goto590
  117. 660 print"[147][146]"x$"data ";:ford=1to150:dd$=str$(dd(d))
  118. 665 ifdd(d)<>0thenprintright$(dd$,len(dd$)-1);:ifdd(d+1)<>0thenprint",";
  119. 670 next:printchr$(13);tab(6);:input"[146] another message (y/n)...";yn$
  120. 675 ifyn$<>"y"thenifyn$<>"n"then660
  121. 680 ifyn$="n"thenend
  122. 685 px=1024:py=55296:ford=1to150:dd(d)=0:next:d=0:rt=0:lg=0:g=0:goto585
  123. 690 data 29,4,42,37,42,20,5,24,20,43,42,42,13,1,3,8,9,14,5
  124. 695 data 13,1,18,3,15,42,8,38,42,43,23,5,19,20,5,18,42,37,43,23,5,5,12
  125. 700 data 20,5,19,20,9,14,7
  126.